//
//  ExpertInterface.h
//  DaJiang
//
//  Created by sally on 16/10/12.
//  Copyright © 2016年 jiniu. All rights reserved.
//

#import "InterfaceBase.h"

typedef enum {
  ExpertSort_MeetCount = 0,//约见次数排序
  ExpertSort_Value//评分排序
} ExpertSort_Type;

@class BecomeExpertModel;
@interface ExpertInterface : InterfaceBase

- (id)init;

#pragma mark - tab1相关
//获取推荐专家列表(首页)
- (void)queryRecommendListWithLocation:(NSString *)location
                                cursor:(NSInteger)cursor
                            completion:(completion_t)completion
                                 error:(error_t)error;

//获取全部专家列表
- (void)queryAllExpertListWithLocation:(NSString *)location
                                cursor:(NSInteger)cursor
                            completion:(completion_t)completion
                                 error:(error_t)error;

//一级分类目录下的全部专家
- (void)queryLevel1AllExpertListWithLocation:(NSString *)location
                                    proIndex:(NSString *)proIndex
                                      cursor:(NSInteger)cursor
                                  completion:(completion_t)completion
                                       error:(error_t)error;

//二级分类目录下的所有专家
- (void)queryLevel2AllExpertListWithLocation:(NSString *)location
                                    proIndex:(NSString *)proIndex
                                   proIndex2:(NSString *)proIndex2
                                      cursor:(NSInteger)cursor
                                  completion:(completion_t)completion
                                       error:(error_t)error;

//专家排序
- (void)sortExpertListWithLocation:(NSString *)location
                          proIndex:(NSString *)proIndex
                         proIndex2:(NSString *)proIndex2
                              page:(NSInteger)page
                              type:(ExpertSort_Type)type
                        completion:(completion_t)completion
                             error:(error_t)error;

//搜索
- (void)searchExpertListWithLocation:(NSString *)location
                             content:(NSString *)content
                          completion:(completion_t)completion
                               error:(error_t)error;

#pragma mark - 专家详情相关
//获取专家详情
- (void)queryExpertDetailWithProUid:(NSInteger)proUid
                         completion:(completion_t)completion
                              error:(error_t)error;

//查看更多评论
- (void)queryCommentListWithProUid:(NSInteger)proUid
                            cursor:(NSInteger)cursor
                        completion:(completion_t)completion
                             error:(error_t)error;

#pragma mark - 约见接口相关
//专家可约的有空列表
- (void)queryExpertFreeListWithProUid:(NSInteger)proUid
                           completion:(completion_t)completion
                                error:(error_t)error;

#pragma mark - 我的（用户）相关
//申请成为专家
- (void)applyExpertWithModel:(BecomeExpertModel *)becomeExpertModel
                  completion:(completion_t)completion
                       error:(error_t)error;

//查询申请状态
- (void)queryApplyStatusWithCompletion:(completion_t)completion
                                 error:(error_t)error;

#pragma mark - 我的（专家）相关
//约我的人
- (void)queryExpertOrderListWithCursor:(NSInteger)cursor
                                  type:(OrderStatusType)type
                            completion:(completion_t)completion
                                 error:(error_t)error;

//提现页面
- (void)queryCashAccountWithCompletion:(completion_t)completion
                                 error:(error_t)error;

//提现绑定支付宝
- (void)bindAlipayWithAlipay:(NSString *)alipay
                  completion:(completion_t)completion
                       error:(error_t)error;

//提现
- (void)takeCashWithValue:(NSString *)value
               completion:(completion_t)completion
                    error:(error_t)error;

//约见是否开放
- (void)setMeetAvailableWithAvailable:(NSInteger)available
                           completion:(completion_t)completion
                                error:(error_t)error;

//管理话题列表
- (void)queryTopicListWithCursor:(NSInteger)cursor
                      completion:(completion_t)completion
                           error:(error_t)error;

//专家有空列表
- (void)queryFreeListWithCompletion:(completion_t)completion
                              error:(error_t)error;

//添加有空
- (void)addFreeWithTime:(NSString *)time
               location:(NSString *)location
             completion:(completion_t)completion
                  error:(error_t)error;

@end
